#ifndef INC_FILEMANAGER_H
#define  INC_FILEMANAGER_H

#include <stdlib.h>
#include <stdio.h>
#include <string.h>

typedef struct FileInfo_t{
    char        path[256];              // 文件路径
    int         size;                   // 文件大小
    FILE*       handle;                 // 文件handle

    int     (*remove)(struct FileInfo_t *);
    int     (*destory)(struct FileInfo_t *);
    int     (*readLine)(struct FileInfo_t *, char *, int );
} FileInfo;

typedef struct{
    FILE* (*open)(FileInfo *, const char *);  // 文件handle
    int  (*getSize)(FileInfo *);
    int  (*remove)(FileInfo *);
} FileInfoOp;

// 绑定操作函数
FileInfo *FileInfo_open(const char *filePath);

// 删除文件
int FileInfo_remove(FileInfo *thiz);

// 销毁 FileInfo 对象
int FileInfo_destory(FileInfo*);

// 读取文件一行
int FileInfo_readLine(FileInfo *file, char *buff, int size);




#endif /* INC_FILEMANAGER_H */




